{extend name="../../base/view/common/base" /}
<!-- 主体 -->
{block name="body"}
<div class="p-3">
	<form class="layui-form gg-form-bar border-x border-t" lay-filter="barsearchform">

			<div class="layui-input-inline">
				<input name="buyCode" value="" placeholder="请输入订货号" class="layui-input">
			</div>

			<div class="layui-input-inline">
				<input name="name" value="" placeholder="请输入名称" class="layui-input">
			</div>


			<div class="layui-input-inline">
				<input name="specs" value="" placeholder="请输入规格型号" class="layui-input">
			</div>

			<div class="layui-input-inline">
				<input name="brand" value="" placeholder="请输入品牌" class="layui-input">
			</div>

			<div class="layui-input-inline">
				<input name="xsHt" value="" placeholder="请输入采购合同号" class="layui-input">
			</div>
		<div class="layui-input-inline" style="width:150px;">
			<button class="layui-btn layui-btn-normal" lay-submit="" lay-filter="webform"><i class="layui-icon layui-icon-search mr-1"></i>搜索</button>
			<button type="reset" class="layui-btn layui-btn-reset" lay-filter="reset">清空</button>
		</div>
	</form>
	<table class="layui-hide" id="test" lay-filter="test"></table>
</div>
<script type="text/html" id="toolbarDemo">
<div class="layui-btn-container">
    <span class="layui-btn layui-btn-sm" lay-event="add">+ 申请收票</span>
</div>
</script>
{/block}
<!-- /主体 -->

<!-- 脚本 -->
{block name="script"}
<script>
	const moduleInit = ['tool','laydatePlus'];
	function gouguInit() {
		var form = layui.form,table = layui.table,tool=layui.tool, laydatePlus = layui.laydatePlus;
		//日期范围
		var diff_time = new laydatePlus({'target':'diff_time'});
		
		//监听搜索提交
		form.on('submit(webform)', function(data) {
			layui.pageTable.reload({
				where: data.field,
				page: {curr: 1}
			});
			return false;
		});

		layui.pageTable = table.render({
			elem: '#test',
			title: '发票列表',
			toolbar: '#toolbarDemo',
			defaultToolbar:['filter', {title:'导出EXCEL',layEvent: 'LAYTABLE_EXCEL',icon: 'layui-icon-export'}],
			url: "{:url('')}", //数据接口
			page: true, //开启分页
			cellMinWidth: 80,
			limit: 20,
			cols: [
				[
					{
						field: 'id',
						title: 'ID号',
						align: 'center',
						width: 80
					},
					{
						field: 'invoice_type',
						title: '收票类型',
						align: 'center',
						width: 120,
						templet:function(d){
							var html='-';
							if(d.invoice_type==1){
								html='<span class="green">增值税专用发票</span>';
							}
							else if(d.invoice_type==2){
								html='<span class="blue">普通发票</span>';
							}
							else if(d.invoice_type==3){
								html='<span class="red">专业发票</span>';
							}
							return html;
						}
					},
					{
						field: 'subjectName',
						title: '收票主体',
						align: 'center',
					},
					{
						field: 'invoice_title',
						title: '抬头类型',
						templet:function(d){
							var html='';
							if(d.type==1){
								html='<span class="layui-badge layui-bg-blue">企业</span> ';
							}
							else if(d.type==2){
								html='<span class="layui-badge layui-bg-green">个人</span> ';
							}
							return html;
						}
					},
	{
						field: 'pName',
						title: '供应商名称',
						align: 'center',
					},
	{
						field: 'cgHt',
						title: '采购合同号',
						align: 'center',
					},
	{
						field: 'brand',
						title: '品牌',
						align: 'center',
					},
					{
						field: 'mdName',
						title: '品名',
						align: 'center',
					},
					{
						field: 'buyCode',
						title: '订货号',
						align: 'center',
					},
					{
						field: 'unit',
						title: '计量单位',
						align: 'center',
					},
					{
						field: 'bjNum',
						title: '合同数量',
						align: 'center',
					},
					{
						field: 'bjMoney',
						title: '合同金额',
						align: 'center',
					},
					{
						field: 'amount',
						title: '收票金额(元)',
						align: 'right',
						width: 100,
					},
					{
						field: 'openName',
						title: '收票人',
						align: 'center',
						width: 90
					},
					{
						field: 'open_time',
						title: '收票时间',
						align: 'center',
						templet:function (d) {
							return d.open_time>0?formatTimeTwo(d.open_time):'';
						}
					},
					{
						field: 'status',
						title: '状态',
						align: 'center',
						templet:function (d) {
							return d.status==1?'草稿':'已确认';
						}
					},
					{
						field: 'right',
						fixed: 'right',
						title: '操作',
						width: 164,
						align: 'center',
					templet:function(d){
						//0待审、1审批中、2通过、3失败、4撤销、5已开具、10已作废
						var html='<div class="layui-btn-group">';
						// var btn1='<span class="layui-btn layui-btn-normal layui-btn-xs" lay-event="view">详情</span>';
						var btn2='<span class="layui-btn layui-btn-xs" lay-event="edit">编辑</span>';
						// var btn3='<span class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</span>';
						// var btn4='<span class="layui-btn layui-btn-warm layui-btn-xs" lay-event="open">标记为收票</span>';
						html+=btn2;
						// if (d.check_status<2){
						// 	html+=btn2+btn3;
						// }
						// if(d.check_status==4 && d.admin_id==login_admin){
						// 	html+=btn2+btn3;
						// }
						// if(d.check_status==2){
						// 	html+=btn4;
						// }
						html+='</div>';
						return html;
					}
					}
				]
			]
		});

		//表头工具栏事件
		table.on('toolbar(test)', function(obj){
			if (obj.event === 'add') {
				tool.side("{:url('add')}");
				return;
			}

			if(obj.event === 'LAYTABLE_EXCEL'){
				var formSelect = form.val('barsearchform');
				formSelect.limit=99999;
				$.ajax({
					url: "{:url('index')}",
					data: formSelect,
					success:function(res){
						table.exportFile('test', res.data,'xls');
					}
				});
				return;
			}
		});
		//监听行工具事件
		table.on('tool(test)', function(obj) {
			var data = obj.data;
			if (obj.event === 'view') {
				tool.side("view?id="+data.id);
				return;
			}
			if (obj.event === 'edit') {
				tool.side("{:url('add')}?id="+data.inId);
				return;
			}
			if(obj.event === 'open'){
				layer.open({
					type: 1
					,title: '标记为已收票'
					,area: '368px;'
					,id: 'LAY_module' //设定一个id，防止重复弹出
					,btn: ['确定', '取消']
					,btnAlign: 'c'
					,content: '<div style="padding-top:15px;">\
								<div class="layui-form-item">\
								  <label class="layui-form-label">发票号码</label>\
								  <div class="layui-input-inline">\
									<input type="text" name="code" autocomplete="off" value="'+data.code+'" placeholder="请输入发票号码" class="layui-input">\
								  </div>\
								</div>\
								<div class="layui-form-item">\
								  <label class="layui-form-label">收票日期</label>\
								  <div class="layui-input-inline">\
									<input type="text" name="open_time" autocomplete="off" value="'+data.open_time+'" placeholder="请选择实际收票日期" class="layui-input tool-time">\
								  </div>\
								</div>\
								<div class="layui-form-item">\
								  <label class="layui-form-label">物流单号</label>\
								  <div class="layui-input-inline">\
									<input type="text" name="delivery" autocomplete="off" value="'+data.delivery+'" placeholder="请输入物流快递单号" class="layui-input">\
								  </div>\
								</div>\
							  </div>'
					,success:function(){

					}
					,yes: function(index){
						let code = $('#LAY_module').find('[name="code"]').val();
						let open_time = $('#LAY_module').find('[name="open_time"]').val();
						let delivery = $('#LAY_module').find('[name="delivery"]').val();
						if(code == ''){
							layer.msg('请输入发票号码');
							return false;
						}
						if(open_time == ''){
							layer.msg('请选择收票时间');
							return false;
						}
						$.ajax({
							url: "/finance/api/open",
							type: 'post',
							data: {
								id: data.id,
								code: code,
								open_time: open_time,
								delivery: delivery
							},
							success: function(e) {
								layer.msg(e.msg);
								if (e.code == 0) {
									layer.close(index);
									layui.pageTable.reload();
								}
							}
						})
					}
					,btn2: function(){
						layer.closeAll();
					}
				});
			}
			if (obj.event === 'del') {
				layer.confirm('确定删除该发票记录吗？', {
					icon: 3,
					title: '提示'
				}, function(index) {
					$.ajax({
						url: "delete",
						type:'post',
						data: {id: data.id},
						success: function(res) {
							layer.msg(res.msg);
							if (res.code == 0) {
								obj.del();
							}
						}
					})
					layer.close(index);
				});
			}
		});
	}
</script>
{/block}
<!-- /脚本 -->
